Conventionally, some storage apparatuses have a snapshot function which holds an image of a logical volume (hereinafter called a source volume) at a time point when a snapshot creation instruction is received. The snapshot function makes it possible to restore the source volume at a time point in case that data is lost due to human error or the state of a file system at a desired time point is to be restored.
If a snapshot is created by the snapshot function, data which precedes data overwriting (hereinafter called previous data) is subsequently saved to a previous data save logical volume with the timing at which data is written to the source volume. That is, the difference between the source volume at the time point when the snapshot creation instruction is received and the current source volume is saved to the previous data save logical volume as previous data. Hence, a data image (snapshot) of the source volume at the snapshot creation time point can be restored by combining the data stored in the current source volume with the previous data stored in the previous data save logical volume.
A snapshot function described above is advantageous in that the source volume at the time point when snapshot creation is ordered can be restored using a smaller storage capacity in comparison with a case where the content of the source volume is stored as is.
Furthermore, technology may also be provided whereby, if a plurality of updatable snapshots (Writable Snapshots: WSS) are provided, update content can be efficiently copied to all the snapshots if necessary (see PTL1). According to PTL 1, for example, because a volume (golden image: GI) whereon an OS is installed can be logically copied, a virtual machine can be rapidly placed in an available state (deployed). Further, the disk usage amount can be reduced because the golden image is shared between virtual machines.
For example, if writing is performed to the golden image by way of a patch application which is applied to the OS, or the like, a snapshot of a golden image serving as the target is created, and the patch data is written as differential data to the created snapshot. When the snapshot is read, reading of an area where patch data is written is performed to the differential data and reading from a common area is performed to the golden image.
When a virtual machine is provided, since the golden image (OS, patch version, installed application or the like) required to initiate the operation is unknown, golden images of plural generations (cascade configuration) may be held. Further, there are cases where a virtual machine is deployed by copying the latest golden image volume between storages and creating a snapshot from the copied golden image.